// 二次封装axios
import axios from 'axios'
import { ElMessage } from 'element-plus'
const http = axios.create({
    baseURL: import.meta.url,
    timeout: 1000,
})

// 添加请求拦截器
http.interceptors.request.use(
    function (config) {
        config.headers.token = '123'
        return config
    },
    function (error) {
        // 对请求错误做些什么
        return Promise.reject(error)
    },
)

// 添加响应拦截器
http.interceptors.response.use(
    function (response) {
        return response.data
    },
    function (error) {
        let message = ''
        let status = error.response.status
        switch (status) {
            case 401:
                message = 'Token 过期'
                break
            case 403:
                message = '无权访问'
                break
            case 404:
                message = '请求地址错误'
                break
            case 500:
                message = '服务器出现问题'
                break
            default:
                message = '网络出现问题'
                break
        }
        ElMessage.error(message)
        return Promise.reject(error)
    },
)

export default http
